Non-interference and Local Correctness in Transactional Memory
نویسندگان
چکیده
Transactional memory promises to make concurrent programming tractable and efficient by allowing the user to assemble sequences of actions in atomic transactions with all-or-nothing semantics. It is believed that, by its very virtue, transactional memory must ensure that all committed transactions constitute a serial execution respecting the real-time order. In contrast, aborted or incomplete transactions should not “take effect.” But what does “not taking effect” mean exactly? It seems natural to expect that aborted or incomplete transactions do not appear in the global serial execution, and, thus, no committed transaction can be affected by them. We investigate another, less obvious, feature of “not taking effect” called non-interference: aborted or incomplete transactions should not force any other transaction to abort. In the strongest form of non-interference that we explore in this paper, by removing a subset of aborted or incomplete transactions from the history, we should not be able to turn an aborted transaction into a committed one without violating the correctness criterion. We show that non-interference is, in a strict sense, not implementable with respect to the popular criterion of opacity that requires all transactions (be they committed, aborted or incomplete) to witness the same global serial execution. In contrast, when we only require local correctness, non-interference is implementable. Informally, a correctness criterion is local if it only requires that every transaction can be serialized along with (a subset of) the transactions committed before its last event (aborted or incomplete transactions ignored). We give a few examples of local correctness properties, including the recently proposed criterion of virtual world consistency, and present a simple though efficient implementation that satisfies non-interference and local opacity.
منابع مشابه
On Non-Interference and Locality in Transactional Memory
The promise of transactional memory is to make concurrent programming tractable and efficient by allowing the user to assemble sequences of actions in atomic transactions with allor-nothing semantics. It is usually expedcted that transactional memory must ensure that all committed transactions constitute a serial execution respecting the real-time order. In contrast, aborted or incomplete trans...
متن کاملSecurity Correctness for Secure Nested Transactions
This article considers the synthesis of two long-standing lines of research in computer security: security correctness for multilevel databases, and language-based security. The motivation is an approach to supporting multilevel and multilateral security for a wide class of enterprise applications, those of concurrent transactional applications. The approach extends nested transactions with ret...
متن کاملVerification of Transactional Memories that Support Non-Transactional Memory Accesses
A major challenge of Transactional memory implementations is dealing with memory accesses that occur outside of transactions. In previous work we showed how to specify transactional memory in terms of admissible interchanges of transaction operations, and gave proof rules for showing that an implementation satisfies its specification. However, we did not capture non-transactional memory accesse...
متن کاملAn Efficient Scheduler for Closed Nested Transactions that Satisfies All-Reads-Consistency and Non-interference
A generally agreed upon requirement for correctness of concurrent executions in Transactional Memory systems is that all transactions including the aborted ones read consistent values. We denote this as all-reads-consistency. Opacity is a correctness criterion that satisfies the above requirement. A relevant property, which we call as non-interference, is that an aborted transaction should not ...
متن کاملProving Isolation Properties for Software Transactional Memory
An algorithm for Software Transactional Memory (STM) is correct if it guarantees a proclaimed degree of isolation between concurrently executing transactions. A correctness proof requires explicit modeling of the effects of transaction bodies and the non-deterministic scheduling of their operations. We provide a formalization of an STM algorithm that is explicit about all aspects required for a...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- Theor. Comput. Sci.
دوره 688 شماره
صفحات -
تاریخ انتشار 2014